Mobile communication is becoming increasingly popular. The recent revolution in digital processing has enabled a rapid migration of mobile wireless services from analog communications to digital communications.
Spread-spectrum is a method of modulation, like FM, that spreads a data signal for transmission over a bandwidth, which substantially exceeds the data transfer rate. Direct sequence spread-spectrum involves modulating a data signal onto a pseudo-random (PN) chip sequence. The chip sequence is the spreading code sequence, for spreading the data over a broad band of the spectrum. The spread-spectrum signal transmits as a radio wave over a communications media to the receiver. The receiver despreads the signal to recover the information data.
The attractive properties of these systems include resistance to multipath fading, soft standoffs between base stations and jam resistance. Additionally, in a multipath environment, the use of Rake receivers enables the harnessing of the total received energy.
Receiving the direct sequence spread-spectrum communications requires detection of one or more spreading chip-code sequences embedded in an incoming spread-spectrum signal as well as subsequent synchronization of the receiver to the detected chip-code sequence. Initial detection and phase synchronization of the spreading chip-code sequence(s) in the receiver is commonly known as code acquisition.
On the transmission side of a spread-spectrum transmitter, a pseudo random noise (PN) generator spreads the data to be transmitted. Once spread, the transmitted signal has a bandwidth that is larger than that of the data. In essence, the data is spread over a large bandwidth in the spectral domain. Once transmitted, the signal may travel over numerous paths from the transmitter to the receiver. Therefore, the receiver receives multiple signals that traveled over different paths thereby requiring the receiver to decipher the signal of each path. Furthermore, the spreading code of the multi-path signal will not be identical to the actual transmitted PN sequence due to the multi-path environment. Correlators and matched-filters are commonly used to acquire each multi-path signal.
FIG. 6 is a block diagram useful in understanding the implementation of correlators in a spread-spectrum receiver. The correlator of FIG. 6 utilizes a local PN sequence generator 602 which generates a PN sequence, also referred to as the reference code, that is the same PN sequence used as the spreading code in the transmitter. Essentially, one input of a multiplier 601 receives an input signal, as an example, a pilot signal spread by a known PN sequence. Coupled to the other input of the multiplier 601 is the local PN sequence generator 602. Therefore, the correlator first multiplies the input signal 101 with the reference code generated by the local PN sequence generator 602.
The input of an integrator 603 receives the product signal output of the multiplier 601. The product signal is integrated, over a predetermined number of N chips. N is usually equal to the PN sequence length. The integration of the signal over N chips produces a correlation value. This correlation value represents the comparison of the reference code to the sequence code of the input signal 101. High correlation values represent a close match of one multi-path signal. On the other hand, a low correlation value represents a low probability of a match.
The output of the integrator 603 goes to a decision circuit 606 comprising a threshold comparator 604 and a DSP 605. The decision circuit 606 compares the correlation value at the output of the integrator 603 to the threshold .tau.. The threshold .tau. is set to a value depending on the desired probability of detecting a signal.
The DSP 605 also connects to the local PN sequence generator 602 and to each of several tracking fingers 607, where each finger 607 tracks a multipath signal. When the correlation value does not equal or exceed the threshold .tau., the DSP 605 sends a control signal to the local PN sequence generator 602 instructing it to advance or retard the reference code by either a half-chip or a predetermined number of chips with respect to the input signal 101. The length of the advance or retard depends on the resolution or accuracy of detection desired. Once advanced or retarded, the multiplier 601 and the integrator 603 correlate the new reference code with the input signal 101 to produce a new correlation value. This procedure repeats until the correlation value equals or exceeds the threshold .tau..
Each finger 607 connects to the local PN sequence generator 602 and the input signal 101 and is controlled by the DSP 605. Therefore, once the correlation value equals or exceeds the threshold .tau., the DSP 605 sends a control signal to the local PN sequence generator 602 instructing it to download the reference code to one of the fingers 607. The DSP 605 also sends a signal to one of the fingers 607 instructing it to receive the reference code sent by the local PN sequence generator 602. Once a finger 607 receives a reference code, it then starts to correlate the input signal 101 with the downloaded reference code signal to track the respective multipath signal.
After which, the procedure of advancing or retarding the reference code producing a new correlation value repeats as discussed above. Each time a new correlation value equals or exceeds the threshold .tau. represents detection of another multi-path signal. The procedure of downloading the reference code to one of the plurality of fingers 607 also repeats for each detected multi-path signal. The output of each finger is connected to the Rake combiner. The Rake combiner 608 combines each detected multipath signal, producing a combined signal 113 with low distortion and little energy loss.
This correlation technique takes a considerable amount of time. To reduce the search time, as an example, U.S. Pat. No. 5,577,022 teaches limiting the integration length to a set number of chips or an equivalent data symbol length in the forward link of an IS-95 system. With this approach, each hypothetical pilot code is correlated with the received pilot signal over a selected number of chips (e.g., 64 chips) of a PN sequence, and the results of the correlation are integrated over the same time interval to obtain a signal energy value. The result is compared to a predefined threshold. If the result is less than the threshold, the value of received signal energy associated with the hypothetical code is set to zero. If the value for one hypothetical code is set to zero, the search moves on to the next code and repeats the operations of correlating and integrating to determine the energy associated with the next hypothetical code. These operations continue until a determination is made as to the signal energy level associated with each hypothetical code in a candidate set.
As shown by this discussion, if a receiver uses only one correlator, the receiver must advance or retard and repeat the process, sequentially, to find the spreading code sequence. Repetition multiplies the delay by the number of signals that the receiver must try to find. One way to speed up this code acquisition is to use many correlators working in parallel. Some receivers use as many as 30 correlators, reducing the search time by a factor of 30. However, the amount of hardware required also increases. Potentially, it requires as many as 30 integrators and 30 comparators.
Even though simple correlators have been used in the code acquisition for reception of spread-spectrum signals, faster and more efficient techniques for code acquisition rely on matched filters. For example, U.S. Pat. No. 5,627,855 discloses a spread-spectrum matched-filter including a code generator, a programmable-matched filter, a frame-matched filter, and a controller. One object of this patented approach was to reduce cost and circuit complexity, reduce volume required, and improve the performance. Specifically, this patent provides for frame matched-filters embodied in an in-phase-frame-matched-filter and a quadrature-phase-frame matched-filter. Programmable matched filters are coupled to the outputs of the frame-matched-filters embodied in an in-phase-programmable-matched filter and a quadrature-programmable-frame-matched-filter. Timing generators, code generators, processor, controllers, and demodulators are also coupled to the filters. The patented design does reduce cost and complexity of the hardware but only with respect to conventional matched-filtering techniques. Still, the hardware required is substantial.
However, a need still exists for a technique faster than a correlator but less complex than a true matched-filter for analyzing correlation of received signals to reference codes, to identify the actual code set received. A need also exists for a hardware implementation that offers the rugged acquisition characteristic of matched-filters and the simplistic aspects of correlators.